<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>管理员表</title>
    <link rel="stylesheet" href="http://47.100.102.177:8080/app/css/common/bootstrap.min.css">
    <link rel="stylesheet" href="../../../boot/plugin/download/font_2801350_hw9pyy8c125/iconfont.css">    <script src="http://47.100.102.177:8080/app/js/common/jquery-1.12.4.js"></script>
    <!-- 必须先引入vue，  后使用element-ui -->
    <script src="../../../boot/plugin/element/vue.js"></script>
    <!--引入 element-ui 的样式，-->
    <link rel="stylesheet" href="../../../boot/plugin/element/element.css">
    <!-- 引入element 的组件库-->
    <script src="../../../boot/plugin/element/element.js"></script>
    <style>
        th {
            text-align: center;
        }
        
        .bg-add {
            width: 100%;
            height: 100vh;
            position: absolute;
            top: 0px;
            background-color: rgba(0, 0, 0, 0.2);
            display: none;
        }
        
        .inf {
            background-color: white;
            height: 630px;
            width: 45%;
            margin: auto;
            margin-top: 60px;
            border-radius: 3px;
        }
        
        .inf-head {
            width: 100%;
            height: 30px;
            background-color: rgb(21, 184, 215);
            border-radius: 3px;
        }
        
        #close-add {
            float: right;
            margin-right: 5px;
            background-color: red;
            color: white;
            font-weight: 900;
            border-radius: 5px;
            border: 0px;
            margin-top: 3px;
        }
        
        .inf-from {
            width: 100%;
            height: 600px;
            border-radius: 3px;
            overflow: scroll;
        }
        
        .mailTable {
            width: 100%;
            border-top: 1px solid #E6EAEE;
            border-left: 1px solid #E6EAEE;
            margin-bottom: 30px;
        }
        
        .mailTable tr td,
        .mailTable1 tr td {
            width: 200px;
            height: 35px;
            line-height: 35px;
            box-sizing: border-box;
            padding: 10px;
            border-bottom: 1px solid #E6EAEE;
            border-right: 1px solid #E6EAEE;
        }
        
        .mailTable tr td.column {
            background-color: #EFF3F6;
            color: #393C3E;
            width: 30%;
        }
        
        .error {
            color: red;
        }
        
        .success {
            color: green;
        }
    </style>
</head>

<body>
    <div style="width: 100%;height: 20px;"></div>
    <form class="form-inline" id="findAdmin" style="text-align: center;">
        <div class="form-group">
            <label for="account">账号</label>
            <input type="text" name="account" class="form-control" id="account" placeholder="请输入账号">
            <label for="nickName">昵称</label>
            <input type="text" name="nickName" class="form-control" id="nickName" placeholder="请输入昵称">
        </div>
        <button type="button" class="btn btn-default" onclick="searchAdmin()"><i class="iconfont"
                style="font-size: 14px;color: #3E8EF7;">&#xe660;</i></button>
        <button type="button" style="margin-left: 10px;" class="btn btn-info" onclick="add()">新增</button>
        <button type="button" style="margin-left: 10px;" class="btn btn-danger" onclick="fun1()">批量删除</button>
    </form>
    <div style="width: 100%;height: 20px;"></div>
    <table class="table table-bordered" style="text-align: center;">
        <thead id="th">
            <tr>
                <th><input type="checkbox" id="all"></th>
                <th>管理员id</th>
                <th>人员id</th>
                <th>昵称(用户名)</th>
                <th>账号</th>
                <!-- <th>密码</th> -->
                <th>权限(双击修改)</th>
                <th>操作</th>
            </tr>
        </thead>
        <tbody id="tb">

        </tbody>
    </table>
    <div style="float: right;margin-right: 20px;">
        <div style="float: left;height: 80px;line-height: 80px;margin-right: 20px;" id="pageNum">共&nbsp;<span style="color: red">${haveAdmin}</span>&nbsp;条记录&nbsp;&nbsp;</div>
        <div style="float: left;height: 80px;line-height: 80px;margin-right: 20px;">&nbsp;<span style="color: red">12</span>&nbsp;条&nbsp;/&nbsp;页</div>
        <div id="app" style="float: left;" onclick="page()">
            <el-pagination background layout="prev, pager, next" :total="${allPage}*10" style="margin-top: 23px;">
            </el-pagination>
        </div>
    </div>
    <div class="bg-add" style="position: fixed;">
        <div class="inf">
            <div class="inf-head">
                <h4 style="color: white;display: inline;line-height: 30px;margin-left: 5px;">新增管理员</h4>
                <input type="button" id="close-add" value="×">
            </div>
            <div class="inf-from">
                <form action="" id="addFrom">
                    <table class="mailTable" cellspacing="0" cellpadding="0">
                        <tr>
                            <td class="column">昵称(用户名)</td>
                            <td><input class="form-control" name="nickName" id="username" type="text" placeholder="请输入用户名"></td>
                            <td><span>*</span></td>
                        </tr>
                        <tr>
                            <td class="column">账号(手机号)</td>
                            <td><input class="form-control" name="account" id="account1" type="text" placeholder="请输入账号(手机号)"></td>
                            <td><span>*</span></td>
                        </tr>
                        <tr>
                            <td class="column">密码(默认是abc1234,需该管理员登录后自行修改)</td>
                            <td colspan="2"><input class="form-control" name="password" id="password" type="password" value="abc1234"></td>
                        </tr>
                        <tr>
                            <td class="column">权限</td>
                            <td colspan="2">
                                <select name="powerId" class="form-control">
                                    <option>2</option>
                                    <option>3</option>
                                </select>
                            </td>
                        </tr>
                    </table>
                    <button type="button" class="btn btn-default" style="float: left;margin-left: 180px;" onclick="addAdmin()">新增</button>
                    <button type="reset" class="btn btn-default" style="float: right;margin-right: 180px;">重置</button>
                </form>

            </div>
        </div>
    </div>
    <%--<div><%=session.getAttribute("Admin")%></div>--%>

    <script type="text/javascript">
        new Vue().$mount('#app');

        let admin_list = ${admins};
        let tb = document.getElementById("tb");
        let str = "";
        for (let i = 0; i < admin_list.length; i++) {
            str += '<tr>';
            str += '<td><input type="checkbox" name="cks"></td>';
            str += '<td>' + admin_list[i].adminId + '</td>';
            str += '<td>' + admin_list[i].peopleId + '</td>';
            str += '<td>' + admin_list[i].nickName + '</td>';
            str += '<td>' + admin_list[i].account + '</td>';
            str += '<td>' + admin_list[i].powerId + '</td>';
            str += '<td>';
            str += '<button class="btn-link" type="button" onclick="del(this)">删除</button>';
            str += '</td>';
            str += '</tr>';
        }
        tb.innerHTML = str;

        let allPage = ${allPage};
        let haveAdmin = ${haveAdmin};

        let len = document.getElementById("tb").getElementsByTagName("tr").length;
        let trs = document.getElementById("tb").getElementsByTagName("tr");
        for (let i = 0; i < len; i++) {
            let td = trs[i].querySelector('td:last-child').previousElementSibling;
            td.ondblclick = update;
        }

        function page() {
            str = "";
            let active = document.getElementsByClassName("active")[0];

            let param = "nowPage="+parseInt(active.innerText);
            $.get('/boot/admin/getNowPage',param,function (res){
                admin_list = res;
                for (let j = 0; j < admin_list.length; j++) {
                    str += '<tr>';
                    str += '<td><input type="checkbox" name="cks"></td>';
                    str += '<td>' + admin_list[j].adminId + '</td>';
                    str += '<td>' + admin_list[j].peopleId + '</td>';
                    str += '<td>' + admin_list[j].nickName + '</td>';
                    str += '<td>' + admin_list[j].account + '</td>';
                    str += '<td>' + admin_list[j].powerId + '</td>';
                    str += '<td>';
                    str += '<button class="btn-link" type="button" onclick="del(this)">删除</button>';
                    str += '</td>';
                    str += '</tr>';
                }
                tb.innerHTML = str;


                let len = document.getElementById("tb").getElementsByTagName("tr").length;
                let trs = document.getElementById("tb").getElementsByTagName("tr");
                for (let i = 0; i < len; i++) {
                    let td = trs[i].querySelector('td:last-child').previousElementSibling;
                    td.ondblclick = update;
                }
            })
        }

        function searchAdmin(){
            let form = $("#findAdmin");
            let param = form.serialize();
            str = "";
            $.post('/boot/admin/findAdmin',param,function(res){
                admin_list = res;
                if (admin_list.length!=0  && admin_list!=null){
                    for (let j = 0; j < admin_list.length; j++) {
                        str += '<tr>';
                        str += '<td><input type="checkbox" name="cks"></td>';
                        str += '<td>' + admin_list[j].adminId + '</td>';
                        str += '<td>' + admin_list[j].peopleId + '</td>';
                        str += '<td>' + admin_list[j].nickName + '</td>';
                        str += '<td>' + admin_list[j].account + '</td>';
                        str += '<td>' + admin_list[j].powerId + '</td>';
                        str += '<td>';
                        str += '<button class="btn-link" type="button" onclick="del(this)">删除</button>';
                        str += '</td>';
                        str += '</tr>';
                    }
                }else {
                    str += '<tr><td colspan=7>查询为空</td></tr>'
                }
                tb.innerHTML = str;

                let len = document.getElementById("tb").getElementsByTagName("tr").length;
                let trs = document.getElementById("tb").getElementsByTagName("tr");
                for (let i = 0; i < len; i++) {
                    let td = trs[i].querySelector('td:last-child').previousElementSibling;
                    td.ondblclick = update;
                }
            })
        }

        function addAdmin(){
            let flag = true;
            let username_reg = /^.{1,7}$/;
            let span = username.parentElement.nextElementSibling.children[0];
            if (username_reg.test(username.value)) {
                span.className = "success";
                span.innerHTML = "√";
            } else {
                span.className = "error";
                span.innerHTML = "* 用户名必须是1~7位";
                flag = false;
            }

            let account_reg = /^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/;
            let span1 = account1.parentElement.nextElementSibling.children[0];
            if (account_reg.test(account1.value)) {
                span1.className = "success";
                span1.innerHTML = "√";
            } else {
                span1.className = "error";
                span1.innerHTML = "* 必须是11位数字电话号码";
                flag = false;
            }

            if (flag){
                let form = $("#addFrom");
                let param = form.serialize();
                $.post('/boot/admin/addAdmin',param,function(res){
                    if (res.code=="200"){
                        alert("添加成功")
                        location.reload();
                    }else {
                        alert(res.msg);
                    }
                });
            }
        }


        function update() {
            if (parseInt(${admin.powerId})==1){
                let oldValue = this.innerText;
                if (oldValue=="1"){
                    alert("Ⅰ级权限不能被修改")
                }else {
                    this.innerHTML = "";
                    let select = document.createElement("select");
                    let td = this;
                    select.innerHTML = "<option value='1'>2</option><option value='2'>3</option>";
                    select.onblur = function() {
                        td.innerHTML = this.value;
                        let account = td.previousElementSibling.innerHTML;
                        td.innerHTML = this.options[this.selectedIndex].text;
                        let param = {uPower:parseInt(this.options[this.selectedIndex].text),fAccount:account};
                        $.post('/boot/admin/updatePower',param,function (res){
                            if (res.code=="200"){
                                alert("修改成功");
                            }
                        })
                    }
                    td.appendChild(select);
                }
            }else {
                alert("对不起!只有Ⅰ级管理员才能执行此操作!!!")
            }

        }
        let tbody = document.getElementById("tb");


        function fun1() {
            if (parseInt(${admin.powerId})==1){
                var flag = confirm("您确定要执行批量删除操作吗?");
                if (flag) {
                    //判断是否有选中的.
                    let count = 0;
                    let cks = document.getElementsByName("cks");
                    for (let i = 0; i < cks.length; i++) {
                        if (cks[i].checked) {
                            count++;
                        }
                    }
                    if (count == 0) {
                        alert("sorry,请你先勾选删除的数据!");
                        return;
                    }

                    //搞定勾选的 - 删除...
                    for (let i = cks.length - 1; i >= 0; i--) {
                        if (cks[i].checked) {
                            let adminId = cks[i].parentElement.nextElementSibling.innerText;
                            let param = "delAdminId="+parseInt(adminId);
                            $.get('/boot/admin/delOneAdmin',param,function (res){
                            });
                        }
                    }
                    alert("删除成功");
                    location.reload();

                }
            }else {
                alert("对不起!只有Ⅰ级管理员才能执行此操作!!!")
            }

        }

        function del(obj) {
            if (parseInt(${admin.powerId})==1){
                let adminId = obj.parentElement.previousElementSibling.previousElementSibling.previousElementSibling.previousElementSibling.previousElementSibling.innerHTML;
                let nickName = obj.parentElement.previousElementSibling.previousElementSibling.previousElementSibling.innerHTML;
                let flag = confirm("确定删除   "+nickName+"   吗?");
                if (flag) {
                    let param = "delAdminId="+parseInt(adminId);
                    $.get('/boot/admin/delOneAdmin',param,function (res){
                        if (res.code == "200"){
                            alert("删除成功");
                            location.reload();
                        }
                    });
                }
            }else {
                alert("对不起!只有Ⅰ级管理员才能执行此操作!!!")
            }
        }

        function add() {
            if (parseInt(${admin.powerId})==1){
                let bgadd = document.getElementsByClassName("bg-add");
                bgadd[0].style.display = "block";
            }else {
                alert("对不起!只有Ⅰ级管理员才能执行此操作!!!")
            }
        }

        $(function() {
            //通过点击最上面的全选框，它的选中状态决定后面复选框的选中状态
            $("#all").click(function() {
                console.log($(this).prop("checked"));
                console.log($("#tb input"));
                $("#tb input").prop("checked", $(this).prop("checked"));
            });

            //后面的复选框点击后，判断是否全部都选中，如果都选中，最上面的全选框自动勾上
            $("#tb input").click(function() {
                console.log($("#tb input:checked")); //选中的元素
                if ($("#tb input:checked").length == $("#tb input").length) {
                    $("#all").prop("checked", true);
                } else {
                    $("#all").prop("checked", false);
                }
            });
            $("#close-add").click(function() {
                $(".bg-add").css("display", "none");
            });

            $("#account").bind("input propertychange", function() {
                var text = $("#account").val();
                if (text != '') { //若输入框1的内容不为空，则输入框2不可用
                    $("#nickName").attr("disabled", "disabled"); //设置输入框2不可用
                } else {
                    $("#nickName").removeAttr("disabled"); //移除不可用的属性
                }
            })
            $("#nickName").bind("input propertychange", function() {
                var text = $("#nickName").val();
                if (text != '') { //若输入框1的内容不为空，则输入框2不可用
                    $("#account").attr("disabled", "disabled"); //设置输入框2不可用
                } else {
                    $("#account").removeAttr("disabled"); //移除不可用的属性
                }
            })
        });
    </script>
</body>

</html>